package cn.young.javalearning.designpattern.factorypattern.f_simplefactory;

import cn.young.javalearning.designpattern.factorypattern.bean.f_bean.Apple;
import cn.young.javalearning.designpattern.factorypattern.bean.f_bean.Orange;

/**
 * 简单工厂模式
 * 设计太简单了，简单到每次创建新对象都要修改FruitFactory接口和对应的实现
 * 不符合开闭原则
 * 简单工厂模式适用于产品单一的设计
 * 例如：一个工厂只有单一的一个产品，且只有一个工序
 * 如果新增了一个产品，则需要修改代码，新增一个借口，对应的实现也需要修改。
 * 如果一个产品有有多道工序，则满足不了。
 */
public interface FruitFactory {
    Apple generateApple(Class clazz);

    Orange generateOrange(Class clazz);
}
